home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / PInterfaces / GXPrinting.p < prev    next >
Text File  |  1996-05-01  |  64KB  |  2,041 lines

  1. {
  2.      File:        GXPrinting.p
  3.  
  4.      Contains:    This file contains all printing APIs except for driver/extension specific ones.
  5.  
  6.      Version:    Technology:    Quickdraw GX 1.1
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT GXPrinting;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __GXPRINTING__}
  28. {$SETC __GXPRINTING__ := 1}
  29.  
  30. {$I+}
  31. {$SETC GXPrintingIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __COLLECTIONS__}
  35. {$I Collections.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __CONDITIONALMACROS__}
  38. {$I ConditionalMacros.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __DIALOGS__}
  41. {$I Dialogs.p}
  42. {$ENDC}
  43. {$IFC UNDEFINED __ERRORS__}
  44. {$I Errors.p}
  45. {$ENDC}
  46. {$IFC UNDEFINED __FILES__}
  47. {$I Files.p}
  48. {$ENDC}
  49. {$IFC UNDEFINED __GXFONTS__}
  50. {$I GXFonts.p}
  51. {$ENDC}
  52. {$IFC UNDEFINED __GXMATH__}
  53. {$I GXMath.p}
  54. {$ENDC}
  55. {$IFC UNDEFINED __GXTYPES__}
  56. {$I GXTypes.p}
  57. {$ENDC}
  58. {$IFC UNDEFINED __LISTS__}
  59. {$I Lists.p}
  60. {$ENDC}
  61. {$IFC UNDEFINED __MENUS__}
  62. {$I Menus.p}
  63. {$ENDC}
  64. {$IFC UNDEFINED __GXMESSAGES__}
  65. {$I GXMessages.p}
  66. {$ENDC}
  67. {$IFC UNDEFINED __PRINTING__}
  68. {$I Printing.p}
  69. {$ENDC}
  70. {$IFC UNDEFINED __QUICKDRAW__}
  71. {$I Quickdraw.p}
  72. {$ENDC}
  73.  
  74. {$PUSH}
  75. {$ALIGN MAC68K}
  76. {$LibExport+}
  77.  
  78. {$IFC FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE }
  79. {
  80. *******************************************************************
  81.                     Start of old "GXPrintingManager.h/a/p" interface file.
  82.             ********************************************************************
  83. }
  84. {
  85.  ------------------------------------------------------------------------------
  86.  
  87.                             Printing Manager API Contants and Types
  88.  
  89. -------------------------------------------------------------------------------- 
  90. }
  91. {  QuickDraw GX Printing Manager & Overall GX Gestalt Selectors  }
  92.  
  93. CONST
  94.     gestaltGXPrintingMgrVersion    = 'pmgr';
  95.     gestaltGXVersion            = 'qdgx';
  96.  
  97.  
  98. TYPE
  99.     gxOwnerSignature                    = LONGINT;
  100. {$IFC OLDROUTINENAMES }
  101.     Signature                            = LONGINT;
  102. {$ENDC}
  103. {
  104.  
  105.     ABSTRACT DATA TYPES
  106.  
  107. }
  108. {
  109.  typedef struct gxPrivatePrinterRecord *gxPrinter;
  110.  typedef struct gxPrivateJobRecord *gxJob;
  111.  typedef struct gxPrivateFormatRecord *gxFormat;
  112.  typedef struct gxPrivatePaperTypeRecord *gxPaperType;
  113.  typedef struct gxPrivatePrintFileRecord *gxPrintFile;
  114. }
  115.     gxPrinter = ^LONGINT;
  116.     gxJob = ^LONGINT;
  117.     gxFormat = ^LONGINT;
  118.     gxPaperType = ^LONGINT;
  119.     gxPrintFile = ^LONGINT;
  120. {  Possible values for LoopStatus  }
  121.     gxLoopStatus                        = BOOLEAN;
  122.  
  123. CONST
  124.     gxStopLooping                = 0;
  125.     gxKeepLooping                = 1;
  126.  
  127.  
  128. TYPE
  129.     GXViewDeviceProcPtr = ProcPtr;  { FUNCTION GXViewDevice(aViewDevice: gxViewDevice; refCon: UNIV Ptr): ByteParameter; }
  130.  
  131.     GXViewDeviceUPP = UniversalProcPtr;
  132.  
  133. CONST
  134.     uppGXViewDeviceProcInfo = $000003D0;
  135.  
  136. FUNCTION NewGXViewDeviceProc(userRoutine: GXViewDeviceProcPtr): GXViewDeviceUPP;
  137.     {$IFC NOT GENERATINGCFM }
  138.     INLINE $2E9F;
  139.     {$ENDC}
  140.  
  141. FUNCTION CallGXViewDeviceProc(aViewDevice: gxViewDevice; refCon: UNIV Ptr; userRoutine: GXViewDeviceUPP): ByteParameter;
  142.     {$IFC NOT GENERATINGCFM}
  143.     INLINE $205F, $4E90;
  144.     {$ENDC}
  145.  
  146. TYPE
  147.     GXFormatProcPtr = ProcPtr;  { FUNCTION GXFormat(aFormat: gxFormat; refCon: UNIV Ptr): ByteParameter; }
  148.  
  149.     GXFormatUPP = UniversalProcPtr;
  150.  
  151. CONST
  152.     uppGXFormatProcInfo = $000003D0;
  153.  
  154. FUNCTION NewGXFormatProc(userRoutine: GXFormatProcPtr): GXFormatUPP;
  155.     {$IFC NOT GENERATINGCFM }
  156.     INLINE $2E9F;
  157.     {$ENDC}
  158.  
  159. FUNCTION CallGXFormatProc(aFormat: gxFormat; refCon: UNIV Ptr; userRoutine: GXFormatUPP): ByteParameter;
  160.     {$IFC NOT GENERATINGCFM}
  161.     INLINE $205F, $4E90;
  162.     {$ENDC}
  163.  
  164. TYPE
  165.     GXPaperTypeProcPtr = ProcPtr;  { FUNCTION GXPaperType(aPapertype: gxPaperType; refCon: UNIV Ptr): ByteParameter; }
  166.  
  167.     GXPaperTypeUPP = UniversalProcPtr;
  168.  
  169. CONST
  170.     uppGXPaperTypeProcInfo = $000003D0;
  171.  
  172. FUNCTION NewGXPaperTypeProc(userRoutine: GXPaperTypeProcPtr): GXPaperTypeUPP;
  173.     {$IFC NOT GENERATINGCFM }
  174.     INLINE $2E9F;
  175.     {$ENDC}
  176.  
  177. FUNCTION CallGXPaperTypeProc(aPapertype: gxPaperType; refCon: UNIV Ptr; userRoutine: GXPaperTypeUPP): ByteParameter;
  178.     {$IFC NOT GENERATINGCFM}
  179.     INLINE $205F, $4E90;
  180.     {$ENDC}
  181.  
  182. TYPE
  183.     GXPrintingFlattenProcPtr = ProcPtr;  { FUNCTION GXPrintingFlatten(size: LONGINT; data: UNIV Ptr; refCon: UNIV Ptr): OSErr; }
  184.  
  185.     GXPrintingFlattenUPP = UniversalProcPtr;
  186.  
  187. CONST
  188.     uppGXPrintingFlattenProcInfo = $00000FE0;
  189.  
  190. FUNCTION NewGXPrintingFlattenProc(userRoutine: GXPrintingFlattenProcPtr): GXPrintingFlattenUPP;
  191.     {$IFC NOT GENERATINGCFM }
  192.     INLINE $2E9F;
  193.     {$ENDC}
  194.  
  195. FUNCTION CallGXPrintingFlattenProc(size: LONGINT; data: UNIV Ptr; refCon: UNIV Ptr; userRoutine: GXPrintingFlattenUPP): OSErr;
  196.     {$IFC NOT GENERATINGCFM}
  197.     INLINE $205F, $4E90;
  198.     {$ENDC}
  199. {$IFC OLDROUTINENAMES }
  200.  
  201. TYPE
  202.     gxViewDeviceProc                    = GXViewDeviceProcPtr;
  203.     gxFormatProc                        = GXFormatProcPtr;
  204.     gxPaperTypeProc                        = GXPaperTypeProcPtr;
  205.     gxPrintingFlattenProc                = GXPrintingFlattenProcPtr;
  206. {$ENDC}
  207. {
  208.     The following constants are used to set collection item flags in printing
  209.     collections. The Printing Manager purges certain items whenever a driver
  210.     switch occurs. If the formatting driver changes, all items marked as
  211.     gxVolatileFormattingDriverCategory will be purged.  If the output driver
  212.     changes, all items marked as gxVolatileOutputDriverCategory will be purged.
  213.     Note that to prevent items from being flattened when GXFlattenJob is called,
  214.     you should unset the collectionPersistenceBit (defined in Collections.h),
  215.     which is on by default.
  216. }
  217. {  Structure stored in collection items' user attribute bits  }
  218.  
  219. TYPE
  220.     gxCollectionCategory                = INTEGER;
  221.  
  222. CONST
  223.     gxNoCollectionCategory        = $0000;
  224.     gxOutputDriverCategory        = $0001;
  225.     gxFormattingDriverCategory    = $0002;
  226.     gxDriverVolatileCategory    = $0004;
  227.     gxVolatileOutputDriverCategory = $0005;
  228.     gxVolatileFormattingDriverCategory = $0006;
  229.  
  230. {
  231.  
  232.     >>>>>> JOB COLLECTION ITEMS <<<<<<
  233.  
  234. }
  235. {  gxJobInfo COLLECTION ITEM  }
  236.     gxJobTag                    = 'job ';
  237.  
  238.  
  239. TYPE
  240.     gxJobInfoPtr = ^gxJobInfo;
  241.     gxJobInfo = RECORD
  242.         numPages:                LONGINT;                                {  Number of pages in the document  }
  243.         priority:                LONGINT;                                {  Priority of this job plus "is it on hold?"  }
  244.         timeToPrint:            LONGINT;                                {  When to print job, if scheduled  }
  245.         jobTimeout:                LONGINT;                                {  Timeout value, in ticks  }
  246.         firstPageToPrint:        LONGINT;                                {  Start printing from this page  }
  247.         jobAlert:                INTEGER;                                {  How to alert user when printing  }
  248.         appName:                Str31;                                    {  Which application printed the document  }
  249.         documentName:            Str31;                                    {  The name of the document being printed  }
  250.         userName:                Str31;                                    {  The owner name of the machine that printed the document  }
  251.     END;
  252.  
  253. {  gxPDDDefaultSettingTag COLLECTION ITEM  }
  254.  
  255. CONST
  256.     gxPDDDefaultSettingTag        = 'pdds';
  257.  
  258.  
  259. TYPE
  260.     gxPDDDefaultSettingInfoPtr = ^gxPDDDefaultSettingInfo;
  261.     gxPDDDefaultSettingInfo = RECORD
  262.         useDefaultSetting:        BOOLEAN;                                {  true if PDD default setting should be used  }
  263.         pad:                    SInt8;
  264.     END;
  265.  
  266. {  priority field constants  }
  267.  
  268. CONST
  269.     gxPrintJobHoldingBit        = $00001000;                    {  This bit is set if the job is on hold.  }
  270.  
  271.     gxPrintJobUrgent            = $00000001;
  272.     gxPrintJobAtTime            = $00000002;
  273.     gxPrintJobASAP                = $00000003;
  274.     gxPrintJobHolding            = $00001003;
  275.     gxPrintJobHoldingAtTime        = $00001002;
  276.     gxPrintJobHoldingUrgent        = $00001001;
  277.  
  278. {  jobAlert field constants  }
  279.     gxNoPrintTimeAlert            = 0;                            {  Don't alert user when we print  }
  280.     gxAlertBefore                = 1;                            {  Alert user before we print  }
  281.     gxAlertAfter                = 2;                            {  Alert user after we print  }
  282.     gxAlertBothTimes            = 3;                            {  Alert before and after we print  }
  283.  
  284. {  jobTimeout field constants  }
  285.     gxThirtySeconds                = 1800;                            {  30 seconds in ticks  }
  286.     gxTwoMinutes                = 7200;                            {  2 minutes in ticks  }
  287.  
  288. {  gxCollationTag COLLECTION ITEM  }
  289.     gxCollationTag                = 'sort';
  290.  
  291.  
  292. TYPE
  293.     gxCollationInfoPtr = ^gxCollationInfo;
  294.     gxCollationInfo = RECORD
  295.         collation:                BOOLEAN;                                {  True if copies are to be collated  }
  296.         padByte:                SInt8;
  297.     END;
  298.  
  299. {  gxCopiesTag COLLECTION ITEM  }
  300.  
  301. CONST
  302.     gxCopiesTag                    = 'copy';
  303.  
  304.  
  305. TYPE
  306.     gxCopiesInfoPtr = ^gxCopiesInfo;
  307.     gxCopiesInfo = RECORD
  308.         copies:                    LONGINT;                                {  Number of copies of the document to print  }
  309.     END;
  310.  
  311. {  gxPageRangeTag COLLECTION ITEM  }
  312.  
  313. CONST
  314.     gxPageRangeTag                = 'rang';
  315.  
  316.  
  317. TYPE
  318.     gxSimplePageRangeInfoPtr = ^gxSimplePageRangeInfo;
  319.     gxSimplePageRangeInfo = RECORD
  320.         optionChosen:            SInt8;                                    {  From options listed below  }
  321.         printAll:                BOOLEAN;                                {  True if user wants to print all pages  }
  322.         fromPage:                LONGINT;                                {  For gxDefaultPageRange, current value  }
  323.         toPage:                    LONGINT;                                {  For gxDefaultPageRange, current value  }
  324.     END;
  325.  
  326.     gxPageRangeInfoPtr = ^gxPageRangeInfo;
  327.     gxPageRangeInfo = RECORD
  328.         simpleRange:            gxSimplePageRangeInfo;                    {  Info which will be returned for GetJobPageRange  }
  329.         fromString:                Str31;                                    {  For gxCustomizePageRange, current value  }
  330.         toString:                Str31;                                    {  For gxCustomizePageRange, current value  }
  331.         minFromPage:            LONGINT;                                {  For gxDefaultPageRange, we parse with this, ignored if nil  }
  332.         maxToPage:                LONGINT;                                {  For gxDefaultPageRange, we parse with this, ignored if nil  }
  333.         replaceString:            SInt8;                                    {  For gxReplacePageRange, string to display  }
  334.     END;
  335.  
  336. {  optionChosen field constants for SimplePageRangeInfo  }
  337.  
  338. CONST
  339.     gxDefaultPageRange            = 0;
  340.     gxReplacePageRange            = 1;
  341.     gxCustomizePageRange        = 2;
  342.  
  343. {  gxQualityTag COLLECTION ITEM  }
  344.     gxQualityTag                = 'qual';
  345.  
  346.  
  347. TYPE
  348.     gxQualityInfoPtr = ^gxQualityInfo;
  349.     gxQualityInfo = RECORD
  350.         disableQuality:            BOOLEAN;                                {  True to disable standard quality controls  }
  351.         padByte:                SInt8;
  352.         defaultQuality:            INTEGER;                                {  The default quality value  }
  353.         currentQuality:            INTEGER;                                {  The current quality value  }
  354.         qualityCount:            INTEGER;                                {  The number of quality menu items in popup menu  }
  355.         qualityNames:            SInt8;                                    {  An array of packed pascal strings for popup menu titles  }
  356.     END;
  357.  
  358. {  gxFileDestinationTag COLLECTION ITEM  }
  359.  
  360. CONST
  361.     gxFileDestinationTag        = 'dest';
  362.  
  363.  
  364. TYPE
  365.     gxFileDestinationInfoPtr = ^gxFileDestinationInfo;
  366.     gxFileDestinationInfo = RECORD
  367.         toFile:                    BOOLEAN;                                {  True if destination is a file  }
  368.         padByte:                SInt8;
  369.     END;
  370.  
  371. {  gxFileLocationTag COLLECTION ITEM  }
  372.  
  373. CONST
  374.     gxFileLocationTag            = 'floc';
  375.  
  376.  
  377. TYPE
  378.     gxFileLocationInfoPtr = ^gxFileLocationInfo;
  379.     gxFileLocationInfo = RECORD
  380.         fileSpec:                FSSpec;                                    {  Location to put file, if destination is file  }
  381.     END;
  382.  
  383. {  gxFileFormatTag COLLECTION ITEM  }
  384.  
  385. CONST
  386.     gxFileFormatTag                = 'ffmt';
  387.  
  388.  
  389. TYPE
  390.     gxFileFormatInfoPtr = ^gxFileFormatInfo;
  391.     gxFileFormatInfo = RECORD
  392.         fileFormatName:            Str31;                                    {  Name of file format (e.g. "PostScript") if destination is file  }
  393.     END;
  394.  
  395. {  gxFileFontsTag COLLECTION ITEM  }
  396.  
  397. CONST
  398.     gxFileFontsTag                = 'incf';
  399.  
  400.  
  401. TYPE
  402.     gxFileFontsInfoPtr = ^gxFileFontsInfo;
  403.     gxFileFontsInfo = RECORD
  404.         includeFonts:            SInt8;                                    {  Which fonts to include, if destination is file  }
  405.         padByte:                SInt8;
  406.     END;
  407.  
  408. {  includeFonts field constants  }
  409.  
  410. CONST
  411.     gxIncludeNoFonts            = 1;                            {  Include no fonts  }
  412.     gxIncludeAllFonts            = 2;                            {  Include all fonts  }
  413.     gxIncludeNonStandardFonts    = 3;                            {  Include only fonts that aren't in the standard LW set  }
  414.  
  415. {  gxPaperFeedTag COLLECTION ITEM  }
  416.     gxPaperFeedTag                = 'feed';
  417.  
  418.  
  419. TYPE
  420.     gxPaperFeedInfoPtr = ^gxPaperFeedInfo;
  421.     gxPaperFeedInfo = RECORD
  422.         autoFeed:                BOOLEAN;                                {  True if automatic feed, false if manual  }
  423.         padByte:                SInt8;
  424.     END;
  425.  
  426. {  gxTrayFeedTag COLLECTION ITEM  }
  427.  
  428. CONST
  429.     gxTrayFeedTag                = 'tray';
  430.  
  431.  
  432. TYPE
  433.     gxTrayIndex                            = LONGINT;
  434.     gxTrayFeedInfoPtr = ^gxTrayFeedInfo;
  435.     gxTrayFeedInfo = RECORD
  436.         feedTrayIndex:            gxTrayIndex;                            {  Tray to feed paper from  }
  437.         manualFeedThisPage:        BOOLEAN;                                {  Signals manual feeding for the page  }
  438.         padByte:                SInt8;
  439.     END;
  440.  
  441. {  gxManualFeedTag COLLECTION ITEM  }
  442.  
  443. CONST
  444.     gxManualFeedTag                = 'manf';
  445.  
  446.  
  447. TYPE
  448.     gxManualFeedInfoPtr = ^gxManualFeedInfo;
  449.     gxManualFeedInfo = RECORD
  450.         numPaperTypeNames:        LONGINT;                                {  Number of paperTypes to manually feed  }
  451.         paperTypeNames:            ARRAY [0..0] OF Str31;                    {  Array of names of paperTypes to manually feed  }
  452.     END;
  453.  
  454. {  gxNormalMappingTag COLLECTION ITEM  }
  455.  
  456. CONST
  457.     gxNormalMappingTag            = 'nmap';
  458.  
  459.  
  460. TYPE
  461.     gxNormalMappingInfoPtr = ^gxNormalMappingInfo;
  462.     gxNormalMappingInfo = RECORD
  463.         normalPaperMapping:        BOOLEAN;                                {  True if not overriding normal paper mapping  }
  464.         padByte:                SInt8;
  465.     END;
  466.  
  467. {  gxSpecialMappingTag COLLECTION ITEM  }
  468.  
  469. CONST
  470.     gxSpecialMappingTag            = 'smap';
  471.  
  472.  
  473. TYPE
  474.     gxSpecialMappingInfoPtr = ^gxSpecialMappingInfo;
  475.     gxSpecialMappingInfo = RECORD
  476.         specialMapping:            SInt8;                                    {  Enumerated redirect, scale or tile setting  }
  477.         padByte:                SInt8;
  478.     END;
  479.  
  480. {  specialMapping field constants  }
  481.  
  482. CONST
  483.     gxRedirectPages                = 1;                            {  Redirect pages to a papertype and clip if necessary  }
  484.     gxScalePages                = 2;                            {  Scale pages if necessary  }
  485.     gxTilePages                    = 3;                            {  Tile pages if necessary  }
  486.  
  487. {  gxTrayMappingTag COLLECTION ITEM  }
  488.     gxTrayMappingTag            = 'tmap';
  489.  
  490.  
  491. TYPE
  492.     gxTrayMappingInfoPtr = ^gxTrayMappingInfo;
  493.     gxTrayMappingInfo = RECORD
  494.         mapPaperToTray:            gxTrayIndex;                            {  Tray to map all paper to  }
  495.     END;
  496.  
  497. {  gxPaperMappingTag COLLECTION ITEM  }
  498. {  This collection item contains a flattened paper type resource  }
  499.  
  500. CONST
  501.     gxPaperMappingTag            = 'pmap';
  502.  
  503. {  gxPrintPanelTag COLLECTION ITEM  }
  504.     gxPrintPanelTag                = 'ppan';
  505.  
  506.  
  507. TYPE
  508.     gxPrintPanelInfoPtr = ^gxPrintPanelInfo;
  509.     gxPrintPanelInfo = RECORD
  510.         startPanelName:            Str31;                                    {  Name of starting panel in Print dialog  }
  511.     END;
  512.  
  513. {  gxFormatPanelTag COLLECTION ITEM  }
  514.  
  515. CONST
  516.     gxFormatPanelTag            = 'fpan';
  517.  
  518.  
  519. TYPE
  520.     gxFormatPanelInfoPtr = ^gxFormatPanelInfo;
  521.     gxFormatPanelInfo = RECORD
  522.         startPanelName:            Str31;                                    {  Name of starting panel in Format dialog  }
  523.     END;
  524.  
  525. {  gxTranslatedDocumentTag COLLECTION ITEM  }
  526.  
  527. CONST
  528.     gxTranslatedDocumentTag        = 'trns';
  529.  
  530.  
  531. TYPE
  532.     gxTranslatedDocumentInfoPtr = ^gxTranslatedDocumentInfo;
  533.     gxTranslatedDocumentInfo = RECORD
  534.         translatorInfo:            LONGINT;                                {  Information from the translation process  }
  535.     END;
  536.  
  537. {  gxCoverPageTag COLLECTION ITEM  }
  538.  
  539. CONST
  540.     gxCoverPageTag                = 'cvpg';
  541.  
  542.  
  543. TYPE
  544.     gxCoverPageInfoPtr = ^gxCoverPageInfo;
  545.     gxCoverPageInfo = RECORD
  546.         coverPage:                LONGINT;                                {  Use same enum values as for PrintRecord field in GXPrinterDrivers.h  }
  547.     END;
  548.  
  549. {
  550.  
  551.     >>>>>> FORMAT COLLECTION ITEMS <<<<<<
  552.  
  553. }
  554. {  gxPaperTypeLockTag COLLECTION ITEM  }
  555.  
  556. CONST
  557.     gxPaperTypeLockTag            = 'ptlk';
  558.  
  559.  
  560. TYPE
  561.     gxPaperTypeLockInfoPtr = ^gxPaperTypeLockInfo;
  562.     gxPaperTypeLockInfo = RECORD
  563.         paperTypeLocked:        BOOLEAN;                                {  True if format's paperType is locked  }
  564.         padByte:                SInt8;
  565.     END;
  566.  
  567. {  gxOrientationTag COLLECTION ITEM  }
  568.  
  569. CONST
  570.     gxOrientationTag            = 'layo';
  571.  
  572.  
  573. TYPE
  574.     gxOrientationInfoPtr = ^gxOrientationInfo;
  575.     gxOrientationInfo = RECORD
  576.         orientation:            SInt8;                                    {  An enumerated orientation value  }
  577.         padByte:                SInt8;
  578.     END;
  579.  
  580. {  orientation field constants  }
  581.  
  582. CONST
  583.     gxPortraitLayout            = 0;                            {  Portrait  }
  584.     gxLandscapeLayout            = 1;                            {  Landscape  }
  585.     gxRotatedPortraitLayout        = 2;                            {  Portrait, rotated 180∞  }
  586.     gxRotatedLandscapeLayout    = 3;                            {  Landscape, rotated 180∞   }
  587.  
  588. {  gxScalingTag COLLECTION ITEM  }
  589.     gxScalingTag                = 'scal';
  590.  
  591.  
  592. TYPE
  593.     gxScalingInfoPtr = ^gxScalingInfo;
  594.     gxScalingInfo = RECORD
  595.         horizontalScaleFactor:    Fixed;                                    {  Current horizontal scaling factor  }
  596.         verticalScaleFactor:    Fixed;                                    {  Current vertical scaling factor  }
  597.         minScaling:                INTEGER;                                {  Minimum scaling allowed  }
  598.         maxScaling:                INTEGER;                                {  Maximum scaling allowed  }
  599.     END;
  600.  
  601. {  gxDirectModeTag COLLECTION ITEM  }
  602.  
  603. CONST
  604.     gxDirectModeTag                = 'dirm';
  605.  
  606.  
  607. TYPE
  608.     gxDirectModeInfoPtr = ^gxDirectModeInfo;
  609.     gxDirectModeInfo = RECORD
  610.         directModeOn:            BOOLEAN;                                {  True if a direct mode is enabled  }
  611.         padByte:                SInt8;
  612.     END;
  613.  
  614. {  gxFormatHalftoneTag COLLECTION ITEM  }
  615.  
  616. CONST
  617.     gxFormatHalftoneTag            = 'half';
  618.  
  619.  
  620. TYPE
  621.     gxFormatHalftoneInfoPtr = ^gxFormatHalftoneInfo;
  622.     gxFormatHalftoneInfo = RECORD
  623.         numHalftones:            LONGINT;                                {  Number of halftone records  }
  624.         halftones:                ARRAY [0..0] OF gxHalftone;                {  The halftone records  }
  625.     END;
  626.  
  627. {  gxInvertPageTag COLLECTION ITEM  }
  628.  
  629. CONST
  630.     gxInvertPageTag                = 'invp';
  631.  
  632.  
  633. TYPE
  634.     gxInvertPageInfoPtr = ^gxInvertPageInfo;
  635.     gxInvertPageInfo = RECORD
  636.         padByte:                SInt8;
  637.         invert:                    BOOLEAN;                                {  If true, invert page  }
  638.     END;
  639.  
  640. {  gxFlipPageHorizontalTag COLLECTION ITEM  }
  641.  
  642. CONST
  643.     gxFlipPageHorizontalTag        = 'flph';
  644.  
  645.  
  646. TYPE
  647.     gxFlipPageHorizontalInfoPtr = ^gxFlipPageHorizontalInfo;
  648.     gxFlipPageHorizontalInfo = RECORD
  649.         padByte:                SInt8;
  650.         flipHorizontal:            BOOLEAN;                                {  If true, flip x coordinates on page  }
  651.     END;
  652.  
  653. {  gxFlipPageVerticalTag COLLECTION ITEM  }
  654.  
  655. CONST
  656.     gxFlipPageVerticalTag        = 'flpv';
  657.  
  658.  
  659. TYPE
  660.     gxFlipPageVerticalInfoPtr = ^gxFlipPageVerticalInfo;
  661.     gxFlipPageVerticalInfo = RECORD
  662.         padByte:                SInt8;
  663.         flipVertical:            BOOLEAN;                                {  If true, flip y coordinates on page  }
  664.     END;
  665.  
  666. {  gxPreciseBitmapsTag COLLECTION ITEM  }
  667.  
  668. CONST
  669.     gxPreciseBitmapsTag            = 'pbmp';
  670.  
  671.  
  672. TYPE
  673.     gxPreciseBitmapInfoPtr = ^gxPreciseBitmapInfo;
  674.     gxPreciseBitmapInfo = RECORD
  675.         preciseBitmaps:            BOOLEAN;                                {  If true, scale page by 96%  }
  676.         padByte:                SInt8;
  677.     END;
  678.  
  679. {
  680.  
  681.     >>>>>> PAPERTYPE COLLECTION ITEMS <<<<<<
  682.  
  683. }
  684. {  gxBaseTag COLLECTION ITEM  }
  685.  
  686. CONST
  687.     gxBaseTag                    = 'base';
  688.  
  689.  
  690. TYPE
  691.     gxBaseInfoPtr = ^gxBaseInfo;
  692.     gxBaseInfo = RECORD
  693.         baseType:                LONGINT;                                {  PaperType's base type  }
  694.     END;
  695.  
  696. {  baseType field constants  }
  697.  
  698. CONST
  699.     gxUnknownBase                = 0;                            {  Base paper type from which this paper type is  }
  700.     gxUSLetterBase                = 1;                            {  derived.  This is not a complete set.  }
  701.     gxUSLegalBase                = 2;
  702.     gxA4LetterBase                = 3;
  703.     gxB5LetterBase                = 4;
  704.     gxTabloidBase                = 5;
  705.  
  706. {  gxCreatorTag COLLECTION ITEM  }
  707.     gxCreatorTag                = 'crea';
  708.  
  709.  
  710. TYPE
  711.     gxCreatorInfoPtr = ^gxCreatorInfo;
  712.     gxCreatorInfo = RECORD
  713.         creator:                OSType;                                    {  PaperType's creator  }
  714.     END;
  715.  
  716. {  gxUnitsTag COLLECTION ITEM  }
  717.  
  718. CONST
  719.     gxUnitsTag                    = 'unit';
  720.  
  721.  
  722. TYPE
  723.     gxUnitsInfoPtr = ^gxUnitsInfo;
  724.     gxUnitsInfo = RECORD
  725.         units:                    SInt8;                                    {  PaperType's units (used by PaperType Editor).  }
  726.         padByte:                SInt8;
  727.     END;
  728.  
  729. {  units field constants  }
  730.  
  731. CONST
  732.     gxPicas                        = 0;                            {  Pica measurement  }
  733.     gxMMs                        = 1;                            {  Millimeter measurement  }
  734.     gxInches                    = 2;                            {  Inches measurement  }
  735.  
  736. {  gxFlagsTag COLLECTION ITEM  }
  737.     gxFlagsTag                    = 'flag';
  738.  
  739.  
  740. TYPE
  741.     gxFlagsInfoPtr = ^gxFlagsInfo;
  742.     gxFlagsInfo = RECORD
  743.         flags:                    LONGINT;                                {  PaperType's flags  }
  744.     END;
  745.  
  746. {  flags field constants  }
  747.  
  748. CONST
  749.     gxOldPaperTypeFlag            = $00800000;                    {  Indicates a paper type for compatibility printing  }
  750.     gxNewPaperTypeFlag            = $00400000;                    {  Indicates a paper type for QuickDraw GX-aware printing  }
  751.     gxOldAndNewFlag                = $00C00000;                    {  Indicates a paper type that's both old and new  }
  752.     gxDefaultPaperTypeFlag        = $00100000;                    {  Indicates the default paper type in the group  }
  753.  
  754. {  gxCommentTag COLLECTION ITEM  }
  755.     gxCommentTag                = 'cmnt';
  756.  
  757.  
  758. TYPE
  759.     gxCommentInfoPtr = ^gxCommentInfo;
  760.     gxCommentInfo = RECORD
  761.         comment:                Str255;                                    {  PaperType's comment  }
  762.     END;
  763.  
  764. {
  765.  
  766.     >>>>>> PRINTER VIEWDEVICE TAGS <<<<<<
  767.  
  768. }
  769. {  gxPenTableTag COLLECTION ITEM  }
  770.  
  771. CONST
  772.     gxPenTableTag                = 'pent';
  773.  
  774.  
  775. TYPE
  776.     gxPenTableEntryPtr = ^gxPenTableEntry;
  777.     gxPenTableEntry = RECORD
  778.         penName:                Str31;                                    {  Name of the pen  }
  779.         penColor:                gxColor;                                {  Color to use from the color set  }
  780.         penThickness:            Fixed;                                    {  Size of the pen  }
  781.         penUnits:                INTEGER;                                {  Specifies units in which pen thickness is defined  }
  782.         penPosition:            INTEGER;                                {  Pen position in the carousel, -1 (kPenNotLoaded) if not loaded  }
  783.     END;
  784.  
  785.     gxPenTablePtr = ^gxPenTable;
  786.     gxPenTable = RECORD
  787.         numPens:                LONGINT;                                {  Number of pen entries in the following array  }
  788.         pens:                    ARRAY [0..0] OF gxPenTableEntry;        {  Array of pen entries  }
  789.     END;
  790.  
  791.     gxPenTableHdl                        = ^gxPenTablePtr;
  792. {  penUnits field constants  }
  793.  
  794. CONST
  795.     gxDeviceUnits                = 0;
  796.     gxMMUnits                    = 1;
  797.     gxInchesUnits                = 2;
  798.  
  799. {  penPosition field constants  }
  800.     gxPenNotLoaded                = -1;
  801.  
  802. {
  803.  
  804.     >>>>>> DIALOG-RELATED CONSTANTS AND TYPES <<<<<<
  805.  
  806. }
  807.  
  808. TYPE
  809.     gxDialogResult                        = LONGINT;
  810.  
  811. CONST
  812.     gxCancelSelected            = 0;
  813.     gxOKSelected                = 1;
  814.     gxRevertSelected            = 2;
  815.  
  816.  
  817. TYPE
  818.     gxEditMenuRecordPtr = ^gxEditMenuRecord;
  819.     gxEditMenuRecord = RECORD
  820.         editMenuID:                INTEGER;
  821.         cutItem:                INTEGER;
  822.         copyItem:                INTEGER;
  823.         pasteItem:                INTEGER;
  824.         clearItem:                INTEGER;
  825.         undoItem:                INTEGER;
  826.     END;
  827.  
  828. {
  829.  
  830.     >>>>>> JOB FORMAT MODE CONSTANTS AND TYPES <<<<<<
  831.  
  832. }
  833.     gxJobFormatMode                        = OSType;
  834.     gxJobFormatModeTablePtr = ^gxJobFormatModeTable;
  835.     gxJobFormatModeTable = RECORD
  836.         numModes:                LONGINT;                                {  Number of job format modes to choose from  }
  837.         modes:                    ARRAY [0..0] OF gxJobFormatMode;        {  The job format modes  }
  838.     END;
  839.  
  840.     gxJobFormatModeTableHdl                = ^gxJobFormatModeTablePtr;
  841.  
  842. CONST
  843.     gxGraphicsJobFormatMode        = 'grph';
  844.     gxTextJobFormatMode            = 'text';
  845.     gxPostScriptJobFormatMode    = 'post';
  846.  
  847.  
  848. TYPE
  849.     gxQueryType                            = LONGINT;
  850.  
  851. CONST
  852.     gxGetJobFormatLineConstraintQuery = 0;
  853.     gxGetJobFormatFontsQuery    = 1;
  854.     gxGetJobFormatFontCommonStylesQuery = 2;
  855.     gxGetJobFormatFontConstraintQuery = 3;
  856.     gxSetStyleJobFormatCommonStyleQuery = 4;
  857.  
  858. {  Structures used for Text mode field constants  }
  859.  
  860. TYPE
  861.     gxPositionConstraintTablePtr = ^gxPositionConstraintTable;
  862.     gxPositionConstraintTable = RECORD
  863.         phase:                    gxPoint;                                {  Position phase  }
  864.         offset:                    gxPoint;                                {  Position offset  }
  865.         numSizes:                LONGINT;                                {  Number of available font sizes  }
  866.         sizes:                    ARRAY [0..0] OF Fixed;                    {  The available font sizes  }
  867.     END;
  868.  
  869.     gxPositionConstraintTableHdl        = ^gxPositionConstraintTablePtr;
  870. {  numSizes field constants  }
  871.  
  872. CONST
  873.     gxConstraintRange            = -1;
  874.  
  875.  
  876. TYPE
  877.     gxStyleNameTablePtr = ^gxStyleNameTable;
  878.     gxStyleNameTable = RECORD
  879.         numStyleNames:            LONGINT;                                {  Number of style names  }
  880.         styleNames:                ARRAY [0..0] OF Str255;                    {  The style names  }
  881.     END;
  882.  
  883.     gxStyleNameTableHdl                    = ^gxStyleNameTablePtr;
  884.     gxFontTablePtr = ^gxFontTable;
  885.     gxFontTable = RECORD
  886.         numFonts:                LONGINT;                                {  Number of font references  }
  887.         fonts:                    ARRAY [0..0] OF gxFont;                    {  The font references  }
  888.     END;
  889.  
  890.     gxFontTableHdl                        = ^gxFontTablePtr;
  891. {
  892.  ------------------------------------------------------------------------------
  893.  
  894.                                 Printing Manager API Functions
  895.  
  896. -------------------------------------------------------------------------------- 
  897. }
  898. {
  899.     Global Routines
  900. }
  901. FUNCTION GXInitPrinting: OSErr;
  902.     {$IFC NOT GENERATINGCFM}
  903.     INLINE $203C, $0000, $0000, $ABFE;
  904.     {$ENDC}
  905. FUNCTION GXExitPrinting: OSErr;
  906.     {$IFC NOT GENERATINGCFM}
  907.     INLINE $203C, $0000, $0001, $ABFE;
  908.     {$ENDC}
  909. {
  910.     Error-Handling Routines
  911. }
  912. FUNCTION GXGetJobError(aJob: gxJob): OSErr;
  913.     {$IFC NOT GENERATINGCFM}
  914.     INLINE $203C, $0000, $000E, $ABFE;
  915.     {$ENDC}
  916. PROCEDURE GXSetJobError(aJob: gxJob; anErr: OSErr);
  917.     {$IFC NOT GENERATINGCFM}
  918.     INLINE $203C, $0000, $000F, $ABFE;
  919.     {$ENDC}
  920. {
  921.     Job Routines
  922. }
  923. FUNCTION GXNewJob(VAR aJob: gxJob): OSErr;
  924.     {$IFC NOT GENERATINGCFM}
  925.     INLINE $203C, $0000, $0002, $ABFE;
  926.     {$ENDC}
  927. FUNCTION GXDisposeJob(aJob: gxJob): OSErr;
  928.     {$IFC NOT GENERATINGCFM}
  929.     INLINE $203C, $0000, $0003, $ABFE;
  930.     {$ENDC}
  931. PROCEDURE GXFlattenJob(aJob: gxJob; flattenProc: GXPrintingFlattenUPP; aVoid: UNIV Ptr);
  932.     {$IFC NOT GENERATINGCFM}
  933.     INLINE $203C, $0000, $0004, $ABFE;
  934.     {$ENDC}
  935. FUNCTION GXUnflattenJob(aJob: gxJob; flattenProc: GXPrintingFlattenUPP; aVoid: UNIV Ptr): gxJob;
  936.     {$IFC NOT GENERATINGCFM}
  937.     INLINE $203C, $0000, $0005, $ABFE;
  938.     {$ENDC}
  939. FUNCTION GXFlattenJobToHdl(aJob: gxJob; aHdl: Handle): Handle;
  940.     {$IFC NOT GENERATINGCFM}
  941.     INLINE $203C, $0000, $0006, $ABFE;
  942.     {$ENDC}
  943. FUNCTION GXUnflattenJobFromHdl(aJob: gxJob; aHdl: Handle): gxJob;
  944.     {$IFC NOT GENERATINGCFM}
  945.     INLINE $203C, $0000, $0007, $ABFE;
  946.     {$ENDC}
  947. PROCEDURE GXInstallApplicationOverride(aJob: gxJob; messageID: INTEGER; override: UNIV Ptr);
  948.     {$IFC NOT GENERATINGCFM}
  949.     INLINE $203C, $0000, $0008, $ABFE;
  950.     {$ENDC}
  951. FUNCTION GXGetJobCollection(aJob: gxJob): Collection;
  952.     {$IFC NOT GENERATINGCFM}
  953.     INLINE $203C, $0000, $001D, $ABFE;
  954.     {$ENDC}
  955. FUNCTION GXGetJobRefCon(aJob: gxJob): Ptr;
  956.     {$IFC NOT GENERATINGCFM}
  957.     INLINE $203C, $0000, $001E, $ABFE;
  958.     {$ENDC}
  959. PROCEDURE GXSetJobRefCon(aJob: gxJob; refCon: UNIV Ptr);
  960.     {$IFC NOT GENERATINGCFM}
  961.     INLINE $203C, $0000, $001F, $ABFE;
  962.     {$ENDC}
  963. FUNCTION GXCopyJob(srcJob: gxJob; dstJob: gxJob): gxJob;
  964.     {$IFC NOT GENERATINGCFM}
  965.     INLINE $203C, $0000, $0020, $ABFE;
  966.     {$ENDC}
  967. PROCEDURE GXSelectJobFormattingPrinter(aJob: gxJob; VAR printerName: Str31);
  968.     {$IFC NOT GENERATINGCFM}
  969.     INLINE $203C, $0000, $0021, $ABFE;
  970.     {$ENDC}
  971. PROCEDURE GXSelectJobOutputPrinter(aJob: gxJob; VAR printerName: Str31);
  972.     {$IFC NOT GENERATINGCFM}
  973.     INLINE $203C, $0000, $0022, $ABFE;
  974.     {$ENDC}
  975. PROCEDURE GXForEachJobFormatDo(aJob: gxJob; formatProc: GXFormatUPP; refCon: UNIV Ptr);
  976.     {$IFC NOT GENERATINGCFM}
  977.     INLINE $203C, $0000, $0023, $ABFE;
  978.     {$ENDC}
  979. FUNCTION GXCountJobFormats(aJob: gxJob): LONGINT;
  980.     {$IFC NOT GENERATINGCFM}
  981.     INLINE $203C, $0000, $0024, $ABFE;
  982.     {$ENDC}
  983. FUNCTION GXUpdateJob(aJob: gxJob): BOOLEAN;
  984.     {$IFC NOT GENERATINGCFM}
  985.     INLINE $203C, $0000, $0025, $ABFE;
  986.     {$ENDC}
  987. {$ENDC}
  988. {$IFC FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED }
  989. PROCEDURE GXConvertPrintRecord(aJob: gxJob; hPrint: THPrint);
  990.     {$IFC NOT GENERATINGCFM}
  991.     INLINE $203C, $0000, $0026, $ABFE;
  992.     {$ENDC}
  993. {$ENDC}
  994. {$IFC FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE }
  995. PROCEDURE GXIdleJob(aJob: gxJob);
  996.     {$IFC NOT GENERATINGCFM}
  997.     INLINE $203C, $0000, $0057, $ABFE;
  998.     {$ENDC}
  999. {
  1000.     Job Format Modes Routines
  1001. }
  1002. PROCEDURE GXSetAvailableJobFormatModes(aJob: gxJob; formatModeTable: gxJobFormatModeTableHdl);
  1003.     {$IFC NOT GENERATINGCFM}
  1004.     INLINE $203C, $0000, $003B, $ABFE;
  1005.     {$ENDC}
  1006. FUNCTION GXGetPreferredJobFormatMode(aJob: gxJob; VAR directOnly: BOOLEAN): LONGINT;
  1007.     {$IFC NOT GENERATINGCFM}
  1008.     INLINE $203C, $0000, $003C, $ABFE;
  1009.     {$ENDC}
  1010. FUNCTION GXGetJobFormatMode(aJob: gxJob): LONGINT;
  1011.     {$IFC NOT GENERATINGCFM}
  1012.     INLINE $203C, $0000, $003D, $ABFE;
  1013.     {$ENDC}
  1014. PROCEDURE GXSetJobFormatMode(aJob: gxJob; formatMode: gxJobFormatMode);
  1015.     {$IFC NOT GENERATINGCFM}
  1016.     INLINE $203C, $0000, $003E, $ABFE;
  1017.     {$ENDC}
  1018. PROCEDURE GXJobFormatModeQuery(aJob: gxJob; aQueryType: gxQueryType; srcData: UNIV Ptr; dstData: UNIV Ptr);
  1019.     {$IFC NOT GENERATINGCFM}
  1020.     INLINE $203C, $0000, $003F, $ABFE;
  1021.     {$ENDC}
  1022. {
  1023.     Format Routines
  1024. }
  1025. FUNCTION GXNewFormat(aJob: gxJob): gxFormat;
  1026.     {$IFC NOT GENERATINGCFM}
  1027.     INLINE $203C, $0000, $0009, $ABFE;
  1028.     {$ENDC}
  1029. PROCEDURE GXDisposeFormat(aFormat: gxFormat);
  1030.     {$IFC NOT GENERATINGCFM}
  1031.     INLINE $203C, $0000, $000A, $ABFE;
  1032.     {$ENDC}
  1033. FUNCTION GXGetJobFormat(aJob: gxJob; whichFormat: LONGINT): gxFormat;
  1034.     {$IFC NOT GENERATINGCFM}
  1035.     INLINE $203C, $0000, $0013, $ABFE;
  1036.     {$ENDC}
  1037. FUNCTION GXGetFormatJob(aFormat: gxFormat): gxJob;
  1038.     {$IFC NOT GENERATINGCFM}
  1039.     INLINE $203C, $0000, $0014, $ABFE;
  1040.     {$ENDC}
  1041. FUNCTION GXGetFormatPaperType(aFormat: gxFormat): gxPaperType;
  1042.     {$IFC NOT GENERATINGCFM}
  1043.     INLINE $203C, $0000, $0015, $ABFE;
  1044.     {$ENDC}
  1045. PROCEDURE GXGetFormatDimensions(aFormat: gxFormat; VAR pageSize: gxRectangle; VAR paperSize: gxRectangle);
  1046.     {$IFC NOT GENERATINGCFM}
  1047.     INLINE $203C, $0000, $0016, $ABFE;
  1048.     {$ENDC}
  1049. FUNCTION GXGetFormatCollection(aFormat: gxFormat): Collection;
  1050.     {$IFC NOT GENERATINGCFM}
  1051.     INLINE $203C, $0000, $0033, $ABFE;
  1052.     {$ENDC}
  1053. PROCEDURE GXChangedFormat(aFormat: gxFormat);
  1054.     {$IFC NOT GENERATINGCFM}
  1055.     INLINE $203C, $0000, $0034, $ABFE;
  1056.     {$ENDC}
  1057. FUNCTION GXCopyFormat(srcFormat: gxFormat; dstFormat: gxFormat): gxFormat;
  1058.     {$IFC NOT GENERATINGCFM}
  1059.     INLINE $203C, $0000, $0035, $ABFE;
  1060.     {$ENDC}
  1061. FUNCTION GXCloneFormat(aFormat: gxFormat): gxFormat;
  1062.     {$IFC NOT GENERATINGCFM}
  1063.     INLINE $203C, $0000, $0036, $ABFE;
  1064.     {$ENDC}
  1065. FUNCTION GXCountFormatOwners(aFormat: gxFormat): LONGINT;
  1066.     {$IFC NOT GENERATINGCFM}
  1067.     INLINE $203C, $0000, $0037, $ABFE;
  1068.     {$ENDC}
  1069. PROCEDURE GXGetFormatMapping(aFormat: gxFormat; VAR fmtMapping: gxMapping);
  1070.     {$IFC NOT GENERATINGCFM}
  1071.     INLINE $203C, $0000, $0038, $ABFE;
  1072.     {$ENDC}
  1073. FUNCTION GXGetFormatForm(aFormat: gxFormat; VAR mask: gxShape): gxShape;
  1074.     {$IFC NOT GENERATINGCFM}
  1075.     INLINE $203C, $0000, $0039, $ABFE;
  1076.     {$ENDC}
  1077. PROCEDURE GXSetFormatForm(aFormat: gxFormat; form: gxShape; mask: gxShape);
  1078.     {$IFC NOT GENERATINGCFM}
  1079.     INLINE $203C, $0000, $003A, $ABFE;
  1080.     {$ENDC}
  1081. {
  1082.     PaperType Routines
  1083. }
  1084. FUNCTION GXNewPaperType(aJob: gxJob; VAR name: Str31; VAR pageSize: gxRectangle; VAR paperSize: gxRectangle): gxPaperType;
  1085.     {$IFC NOT GENERATINGCFM}
  1086.     INLINE $203C, $0000, $000B, $ABFE;
  1087.     {$ENDC}
  1088. PROCEDURE GXDisposePaperType(aPaperType: gxPaperType);
  1089.     {$IFC NOT GENERATINGCFM}
  1090.     INLINE $203C, $0000, $000C, $ABFE;
  1091.     {$ENDC}
  1092. FUNCTION GXGetNewPaperType(aJob: gxJob; resID: INTEGER): gxPaperType;
  1093.     {$IFC NOT GENERATINGCFM}
  1094.     INLINE $203C, $0000, $000D, $ABFE;
  1095.     {$ENDC}
  1096. FUNCTION GXCountJobPaperTypes(aJob: gxJob; forFormatDevice: BOOLEAN): LONGINT;
  1097.     {$IFC NOT GENERATINGCFM}
  1098.     INLINE $203C, $0000, $0042, $ABFE;
  1099.     {$ENDC}
  1100. FUNCTION GXGetJobPaperType(aJob: gxJob; whichPaperType: LONGINT; forFormatDevice: BOOLEAN; aPaperType: gxPaperType): gxPaperType;
  1101.     {$IFC NOT GENERATINGCFM}
  1102.     INLINE $203C, $0000, $0043, $ABFE;
  1103.     {$ENDC}
  1104. PROCEDURE GXForEachJobPaperTypeDo(aJob: gxJob; aProc: GXPaperTypeUPP; refCon: UNIV Ptr; forFormattingPrinter: BOOLEAN);
  1105.     {$IFC NOT GENERATINGCFM}
  1106.     INLINE $203C, $0000, $0044, $ABFE;
  1107.     {$ENDC}
  1108. FUNCTION GXCopyPaperType(srcPaperType: gxPaperType; dstPaperType: gxPaperType): gxPaperType;
  1109.     {$IFC NOT GENERATINGCFM}
  1110.     INLINE $203C, $0000, $0045, $ABFE;
  1111.     {$ENDC}
  1112. PROCEDURE GXGetPaperTypeName(aPaperType: gxPaperType; VAR papertypeName: Str31);
  1113.     {$IFC NOT GENERATINGCFM}
  1114.     INLINE $203C, $0000, $0046, $ABFE;
  1115.     {$ENDC}
  1116. PROCEDURE GXGetPaperTypeDimensions(aPaperType: gxPaperType; VAR pageSize: gxRectangle; VAR paperSize: gxRectangle);
  1117.     {$IFC NOT GENERATINGCFM}
  1118.     INLINE $203C, $0000, $0047, $ABFE;
  1119.     {$ENDC}
  1120. FUNCTION GXGetPaperTypeJob(aPaperType: gxPaperType): gxJob;
  1121.     {$IFC NOT GENERATINGCFM}
  1122.     INLINE $203C, $0000, $0048, $ABFE;
  1123.     {$ENDC}
  1124. FUNCTION GXGetPaperTypeCollection(aPaperType: gxPaperType): Collection;
  1125.     {$IFC NOT GENERATINGCFM}
  1126.     INLINE $203C, $0000, $0049, $ABFE;
  1127.     {$ENDC}
  1128. {
  1129.     Printer Routines
  1130. }
  1131. FUNCTION GXGetJobFormattingPrinter(aJob: gxJob): gxPrinter;
  1132.     {$IFC NOT GENERATINGCFM}
  1133.     INLINE $203C, $0000, $0027, $ABFE;
  1134.     {$ENDC}
  1135. FUNCTION GXGetJobOutputPrinter(aJob: gxJob): gxPrinter;
  1136.     {$IFC NOT GENERATINGCFM}
  1137.     INLINE $203C, $0000, $0028, $ABFE;
  1138.     {$ENDC}
  1139. FUNCTION GXGetJobPrinter(aJob: gxJob): gxPrinter;
  1140.     {$IFC NOT GENERATINGCFM}
  1141.     INLINE $203C, $0000, $0029, $ABFE;
  1142.     {$ENDC}
  1143. FUNCTION GXGetPrinterJob(aPrinter: gxPrinter): gxJob;
  1144.     {$IFC NOT GENERATINGCFM}
  1145.     INLINE $203C, $0000, $002A, $ABFE;
  1146.     {$ENDC}
  1147. PROCEDURE GXForEachPrinterViewDeviceDo(aPrinter: gxPrinter; aProc: GXViewDeviceUPP; refCon: UNIV Ptr);
  1148.     {$IFC NOT GENERATINGCFM}
  1149.     INLINE $203C, $0000, $002B, $ABFE;
  1150.     {$ENDC}
  1151. FUNCTION GXCountPrinterViewDevices(aPrinter: gxPrinter): LONGINT;
  1152.     {$IFC NOT GENERATINGCFM}
  1153.     INLINE $203C, $0000, $002C, $ABFE;
  1154.     {$ENDC}
  1155. FUNCTION GXGetPrinterViewDevice(aPrinter: gxPrinter; whichViewDevice: LONGINT): gxViewDevice;
  1156.     {$IFC NOT GENERATINGCFM}
  1157.     INLINE $203C, $0000, $002D, $ABFE;
  1158.     {$ENDC}
  1159. PROCEDURE GXSelectPrinterViewDevice(aPrinter: gxPrinter; whichViewDevice: LONGINT);
  1160.     {$IFC NOT GENERATINGCFM}
  1161.     INLINE $203C, $0000, $002E, $ABFE;
  1162.     {$ENDC}
  1163. PROCEDURE GXGetPrinterName(aPrinter: gxPrinter; VAR printerName: Str31);
  1164.     {$IFC NOT GENERATINGCFM}
  1165.     INLINE $203C, $0000, $002F, $ABFE;
  1166.     {$ENDC}
  1167. FUNCTION GXGetPrinterType(aPrinter: gxPrinter): LONGINT;
  1168.     {$IFC NOT GENERATINGCFM}
  1169.     INLINE $203C, $0000, $0030, $ABFE;
  1170.     {$ENDC}
  1171. PROCEDURE GXGetPrinterDriverName(aPrinter: gxPrinter; VAR driverName: Str31);
  1172.     {$IFC NOT GENERATINGCFM}
  1173.     INLINE $203C, $0000, $0031, $ABFE;
  1174.     {$ENDC}
  1175. FUNCTION GXGetPrinterDriverType(aPrinter: gxPrinter): LONGINT;
  1176.     {$IFC NOT GENERATINGCFM}
  1177.     INLINE $203C, $0000, $0032, $ABFE;
  1178.     {$ENDC}
  1179. {
  1180.     Dialog Routines
  1181. }
  1182. FUNCTION GXJobDefaultFormatDialog(aJob: gxJob; VAR anEditMenuRec: gxEditMenuRecord): gxDialogResult;
  1183.     {$IFC NOT GENERATINGCFM}
  1184.     INLINE $203C, $0000, $0010, $ABFE;
  1185.     {$ENDC}
  1186. FUNCTION GXJobPrintDialog(aJob: gxJob; VAR anEditMenuRec: gxEditMenuRecord): gxDialogResult;
  1187.     {$IFC NOT GENERATINGCFM}
  1188.     INLINE $203C, $0000, $0011, $ABFE;
  1189.     {$ENDC}
  1190. FUNCTION GXFormatDialog(aFormat: gxFormat; VAR anEditMenuRec: gxEditMenuRecord; title: StringPtr): gxDialogResult;
  1191.     {$IFC NOT GENERATINGCFM}
  1192.     INLINE $203C, $0000, $0012, $ABFE;
  1193.     {$ENDC}
  1194. PROCEDURE GXEnableJobScalingPanel(aJob: gxJob; enabled: BOOLEAN);
  1195.     {$IFC NOT GENERATINGCFM}
  1196.     INLINE $203C, $0000, $0040, $ABFE;
  1197.     {$ENDC}
  1198. PROCEDURE GXGetJobPanelDimensions(aJob: gxJob; VAR panelArea: Rect);
  1199.     {$IFC NOT GENERATINGCFM}
  1200.     INLINE $203C, $0000, $0041, $ABFE;
  1201.     {$ENDC}
  1202. {
  1203.     Spooling Routines
  1204. }
  1205. PROCEDURE GXGetJobPageRange(theJob: gxJob; VAR firstPage: LONGINT; VAR lastPage: LONGINT);
  1206.     {$IFC NOT GENERATINGCFM}
  1207.     INLINE $203C, $0000, $0017, $ABFE;
  1208.     {$ENDC}
  1209. PROCEDURE GXStartJob(theJob: gxJob; docName: StringPtr; pageCount: LONGINT);
  1210.     {$IFC NOT GENERATINGCFM}
  1211.     INLINE $203C, $0000, $0018, $ABFE;
  1212.     {$ENDC}
  1213. PROCEDURE GXPrintPage(theJob: gxJob; pageNumber: LONGINT; theFormat: gxFormat; thePage: gxShape);
  1214.     {$IFC NOT GENERATINGCFM}
  1215.     INLINE $203C, $0000, $0019, $ABFE;
  1216.     {$ENDC}
  1217. FUNCTION GXStartPage(theJob: gxJob; pageNumber: LONGINT; theFormat: gxFormat; numViewPorts: LONGINT; VAR viewPortList: gxViewPort): BOOLEAN;
  1218.     {$IFC NOT GENERATINGCFM}
  1219.     INLINE $203C, $0000, $001A, $ABFE;
  1220.     {$ENDC}
  1221. PROCEDURE GXFinishPage(theJob: gxJob);
  1222.     {$IFC NOT GENERATINGCFM}
  1223.     INLINE $203C, $0000, $001B, $ABFE;
  1224.     {$ENDC}
  1225. PROCEDURE GXFinishJob(theJob: gxJob);
  1226.     {$IFC NOT GENERATINGCFM}
  1227.     INLINE $203C, $0000, $001C, $ABFE;
  1228.     {$ENDC}
  1229. {
  1230.     PrintFile Routines
  1231. }
  1232. FUNCTION GXOpenPrintFile(theJob: gxJob; anFSSpec: FSSpecPtr; permission: ByteParameter): gxPrintFile;
  1233.     {$IFC NOT GENERATINGCFM}
  1234.     INLINE $203C, $0000, $004A, $ABFE;
  1235.     {$ENDC}
  1236. PROCEDURE GXClosePrintFile(aPrintFile: gxPrintFile);
  1237.     {$IFC NOT GENERATINGCFM}
  1238.     INLINE $203C, $0000, $004B, $ABFE;
  1239.     {$ENDC}
  1240. FUNCTION GXGetPrintFileJob(aPrintFile: gxPrintFile): gxJob;
  1241.     {$IFC NOT GENERATINGCFM}
  1242.     INLINE $203C, $0000, $004C, $ABFE;
  1243.     {$ENDC}
  1244. FUNCTION GXCountPrintFilePages(aPrintFile: gxPrintFile): LONGINT;
  1245.     {$IFC NOT GENERATINGCFM}
  1246.     INLINE $203C, $0000, $004D, $ABFE;
  1247.     {$ENDC}
  1248. PROCEDURE GXReadPrintFilePage(aPrintFile: gxPrintFile; pageNumber: LONGINT; numViewPorts: LONGINT; VAR viewPortList: gxViewPort; VAR pgFormat: gxFormat; VAR pgShape: gxShape);
  1249.     {$IFC NOT GENERATINGCFM}
  1250.     INLINE $203C, $0000, $004E, $ABFE;
  1251.     {$ENDC}
  1252. PROCEDURE GXReplacePrintFilePage(aPrintFile: gxPrintFile; pageNumber: LONGINT; aFormat: gxFormat; aShape: gxShape);
  1253.     {$IFC NOT GENERATINGCFM}
  1254.     INLINE $203C, $0000, $004F, $ABFE;
  1255.     {$ENDC}
  1256. PROCEDURE GXInsertPrintFilePage(aPrintFile: gxPrintFile; atPageNumber: LONGINT; pgFormat: gxFormat; pgShape: gxShape);
  1257.     {$IFC NOT GENERATINGCFM}
  1258.     INLINE $203C, $0000, $0050, $ABFE;
  1259.     {$ENDC}
  1260. PROCEDURE GXDeletePrintFilePageRange(aPrintFile: gxPrintFile; fromPageNumber: LONGINT; toPageNumber: LONGINT);
  1261.     {$IFC NOT GENERATINGCFM}
  1262.     INLINE $203C, $0000, $0051, $ABFE;
  1263.     {$ENDC}
  1264. PROCEDURE GXSavePrintFile(aPrintFile: gxPrintFile; VAR anFSSpec: FSSpec);
  1265.     {$IFC NOT GENERATINGCFM}
  1266.     INLINE $203C, $0000, $0052, $ABFE;
  1267.     {$ENDC}
  1268. {
  1269.     ColorSync Routines
  1270. }
  1271. FUNCTION GXFindPrinterProfile(aPrinter: gxPrinter; searchData: UNIV Ptr; index: LONGINT; VAR returnedProfile: gxColorProfile): LONGINT;
  1272.     {$IFC NOT GENERATINGCFM}
  1273.     INLINE $203C, $0000, $0053, $ABFE;
  1274.     {$ENDC}
  1275. FUNCTION GXFindFormatProfile(aFormat: gxFormat; searchData: UNIV Ptr; index: LONGINT; VAR returnedProfile: gxColorProfile): LONGINT;
  1276.     {$IFC NOT GENERATINGCFM}
  1277.     INLINE $203C, $0000, $0054, $ABFE;
  1278.     {$ENDC}
  1279. PROCEDURE GXSetPrinterProfile(aPrinter: gxPrinter; oldProfile: gxColorProfile; newProfile: gxColorProfile);
  1280.     {$IFC NOT GENERATINGCFM}
  1281.     INLINE $203C, $0000, $0055, $ABFE;
  1282.     {$ENDC}
  1283. PROCEDURE GXSetFormatProfile(aFormat: gxFormat; oldProfile: gxColorProfile; newProfile: gxColorProfile);
  1284.     {$IFC NOT GENERATINGCFM}
  1285.     INLINE $203C, $0000, $0056, $ABFE;
  1286.     {$ENDC}
  1287. {
  1288. ***********************************************************************
  1289.                         Start of old "GXPrintingResEquates.h/a/p" interface file.
  1290.                 ************************************************************************
  1291. }
  1292. {
  1293.     ------------------------------------
  1294.                 Basic client types
  1295.     ------------------------------------ 
  1296. }
  1297.  
  1298. CONST
  1299.     gxPrintingManagerType        = 'pmgr';
  1300.     gxImagingSystemType            = 'gxis';
  1301.     gxPrinterDriverType            = 'pdvr';
  1302.     gxPrintingExtensionType        = 'pext';
  1303.     gxUnknownPrinterType        = 'none';
  1304.     gxAnyPrinterType            = 'univ';
  1305.     gxQuickdrawPrinterType        = 'qdrw';
  1306.     gxPortableDocPrinterType    = 'gxpd';
  1307.     gxRasterPrinterType            = 'rast';
  1308.     gxPostscriptPrinterType        = 'post';
  1309.     gxVectorPrinterType            = 'vect';
  1310.  
  1311. {  All pre-defined printing collection items have this ID  }
  1312.     gxPrintingTagID                = -28672;
  1313.  
  1314. {
  1315.     ----------------------------------------------------------------------
  1316.  
  1317.         Resource types and IDs used by both extension and driver writers
  1318.  
  1319.     ---------------------------------------------------------------------- 
  1320. }
  1321. {  Resources in a printer driver or extension must be based off of these IDs  }
  1322.     gxPrintingDriverBaseID        = -27648;
  1323.     gxPrintingExtensionBaseID    = -27136;
  1324.  
  1325. {
  1326.     Override resources tell the system what messages a driver or extension
  1327.         is overriding.  A driver may have a series of these resources. 
  1328. }
  1329. {  Override resource type for 68k resource-based code: }
  1330.     gxOverrideType                = 'over';
  1331.  
  1332. {  Override resource type for PowerPC datafork-based code: }
  1333.     gxNativeOverrideType        = 'povr';
  1334.  
  1335. {
  1336.     --------------------------------------------------------------
  1337.  
  1338.         Message ID definitions by both extension and driver writers
  1339.  
  1340.     --------------------------------------------------------------- 
  1341. }
  1342. {  Identifiers for universal message overrides.  }
  1343.     gxInitializeMsg                = 0;
  1344.     gxShutDownMsg                = 1;
  1345.     gxJobIdleMsg                = 2;
  1346.     gxJobStatusMsg                = 3;
  1347.     gxPrintingEventMsg            = 4;
  1348.     gxJobDefaultFormatDialogMsg    = 5;
  1349.     gxFormatDialogMsg            = 6;
  1350.     gxJobPrintDialogMsg            = 7;
  1351.     gxFilterPanelEventMsg        = 8;
  1352.     gxHandlePanelEventMsg        = 9;
  1353.     gxParsePageRangeMsg            = 10;
  1354.     gxDefaultJobMsg                = 11;
  1355.     gxDefaultFormatMsg            = 12;
  1356.     gxDefaultPaperTypeMsg        = 13;
  1357.     gxDefaultPrinterMsg            = 14;
  1358.     gxCreateSpoolFileMsg        = 15;
  1359.     gxSpoolPageMsg                = 16;
  1360.     gxSpoolDataMsg                = 17;
  1361.     gxSpoolResourceMsg            = 18;
  1362.     gxCompleteSpoolFileMsg        = 19;
  1363.     gxCountPagesMsg                = 20;
  1364.     gxDespoolPageMsg            = 21;
  1365.     gxDespoolDataMsg            = 22;
  1366.     gxDespoolResourceMsg        = 23;
  1367.     gxCloseSpoolFileMsg            = 24;
  1368.     gxStartJobMsg                = 25;
  1369.     gxFinishJobMsg                = 26;
  1370.     gxStartPageMsg                = 27;
  1371.     gxFinishPageMsg                = 28;
  1372.     gxPrintPageMsg                = 29;
  1373.     gxSetupImageDataMsg            = 30;
  1374.     gxImageJobMsg                = 31;
  1375.     gxImageDocumentMsg            = 32;
  1376.     gxImagePageMsg                = 33;
  1377.     gxRenderPageMsg                = 34;
  1378.     gxCreateImageFileMsg        = 35;
  1379.     gxOpenConnectionMsg            = 36;
  1380.     gxCloseConnectionMsg        = 37;
  1381.     gxStartSendPageMsg            = 38;
  1382.     gxFinishSendPageMsg            = 39;
  1383.     gxWriteDataMsg                = 40;
  1384.     gxBufferDataMsg                = 41;
  1385.     gxDumpBufferMsg                = 42;
  1386.     gxFreeBufferMsg                = 43;
  1387.     gxCheckStatusMsg            = 44;
  1388.     gxGetDeviceStatusMsg        = 45;
  1389.     gxFetchTaggedDataMsg        = 46;
  1390.     gxGetDTPMenuListMsg            = 47;
  1391.     gxDTPMenuSelectMsg            = 48;
  1392.     gxHandleAlertFilterMsg        = 49;
  1393.     gxJobFormatModeQueryMsg        = 50;
  1394.     gxWriteStatusToDTPWindowMsg    = 51;
  1395.     gxInitializeStatusAlertMsg    = 52;
  1396.     gxHandleAlertStatusMsg        = 53;
  1397.     gxHandleAlertEventMsg        = 54;
  1398.     gxCleanupStartJobMsg        = 55;
  1399.     gxCleanupStartPageMsg        = 56;
  1400.     gxCleanupOpenConnectionMsg    = 57;
  1401.     gxCleanupStartSendPageMsg    = 58;
  1402.     gxDefaultDesktopPrinterMsg    = 59;
  1403.     gxCaptureOutputDeviceMsg    = 60;
  1404.     gxOpenConnectionRetryMsg    = 61;
  1405.     gxExamineSpoolFileMsg        = 62;
  1406.     gxFinishSendPlaneMsg        = 63;
  1407.     gxDoesPaperFitMsg            = 64;
  1408.     gxChooserMessageMsg            = 65;
  1409.     gxFindPrinterProfileMsg        = 66;
  1410.     gxFindFormatProfileMsg        = 67;
  1411.     gxSetPrinterProfileMsg        = 68;
  1412.     gxSetFormatProfileMsg        = 69;
  1413.     gxHandleAltDestinationMsg    = 70;
  1414.     gxSetupPageImageDataMsg        = 71;
  1415.  
  1416. {  Identifiers for Quickdraw message overrides.  }
  1417.     gxPrOpenDocMsg                = 0;
  1418.     gxPrCloseDocMsg                = 1;
  1419.     gxPrOpenPageMsg                = 2;
  1420.     gxPrClosePageMsg            = 3;
  1421.     gxPrintDefaultMsg            = 4;
  1422.     gxPrStlDialogMsg            = 5;
  1423.     gxPrJobDialogMsg            = 6;
  1424.     gxPrStlInitMsg                = 7;
  1425.     gxPrJobInitMsg                = 8;
  1426.     gxPrDlgMainMsg                = 9;
  1427.     gxPrValidateMsg                = 10;
  1428.     gxPrJobMergeMsg                = 11;
  1429.     gxPrGeneralMsg                = 12;
  1430.     gxConvertPrintRecordToMsg    = 13;
  1431.     gxConvertPrintRecordFromMsg    = 14;
  1432.     gxPrintRecordToJobMsg        = 15;
  1433.  
  1434. {  Identifiers for raster imaging message overrides.  }
  1435.     gxRasterDataInMsg            = 0;
  1436.     gxRasterLineFeedMsg            = 1;
  1437.     gxRasterPackageBitmapMsg    = 2;
  1438.  
  1439. {  Identifiers for PostScript imaging message overrides.  }
  1440.     gxPostscriptQueryPrinterMsg    = 0;
  1441.     gxPostscriptInitializePrinterMsg = 1;
  1442.     gxPostscriptResetPrinterMsg    = 2;
  1443.     gxPostscriptExitServerMsg    = 3;
  1444.     gxPostscriptGetStatusTextMsg = 4;
  1445.     gxPostscriptGetPrinterTextMsg = 5;
  1446.     gxPostscriptScanStatusTextMsg = 6;
  1447.     gxPostscriptScanPrinterTextMsg = 7;
  1448.     gxPostscriptGetDocumentProcSetListMsg = 8;
  1449.     gxPostscriptDownloadProcSetListMsg = 9;
  1450.     gxPostscriptGetPrinterGlyphsInformationMsg = 10;
  1451.     gxPostscriptStreamFontMsg    = 11;
  1452.     gxPostscriptDoDocumentHeaderMsg = 12;
  1453.     gxPostscriptDoDocumentSetUpMsg = 13;
  1454.     gxPostscriptDoDocumentTrailerMsg = 14;
  1455.     gxPostscriptDoPageSetUpMsg    = 15;
  1456.     gxPostscriptSelectPaperTypeMsg = 16;
  1457.     gxPostscriptDoPageTrailerMsg = 17;
  1458.     gxPostscriptEjectPageMsg    = 18;
  1459.     gxPostscriptProcessShapeMsg    = 19;
  1460.     gxPostScriptEjectPendingPageMsg = 20;
  1461.  
  1462. {  Identifiers for Vector imaging message overrides.  }
  1463.     gxVectorPackageDataMsg        = 0;
  1464.     gxVectorLoadPensMsg            = 1;
  1465.     gxVectorVectorizeShapeMsg    = 2;
  1466.  
  1467. {  Dialog related resource types  }
  1468.     gxPrintingAlertType            = 'plrt';
  1469.     gxStatusType                = 'stat';
  1470.     gxExtendedDITLType            = 'xdtl';
  1471.     gxPrintPanelType            = 'ppnl';
  1472.     gxCollectionType            = 'cltn';
  1473.  
  1474. {  Communication resource types  }
  1475. {
  1476.     The looker resource is used by the Chooser PACK to determine what kind
  1477.     of communications this driver supports. (In order to generate/handle the 
  1478.     pop-up menu for "Connect via:".
  1479.     
  1480.     The looker resource is also used by PrinterShare to determine the AppleTalk NBP Type
  1481.     for servers created for this driver.
  1482. }
  1483.     gxLookerType                = 'look';
  1484.     gxLookerID                    = -4096;
  1485.  
  1486. {  The communications method and private data used to connect to the printer  }
  1487.     gxDeviceCommunicationsType    = 'comm';
  1488.  
  1489. {
  1490.     -------------------------------------------------
  1491.  
  1492.     Resource types and IDs used by extension writers
  1493.  
  1494.     ------------------------------------------------- 
  1495. }
  1496.     gxExtensionUniversalOverrideID = -27136;
  1497.  
  1498.     gxExtensionImagingOverrideSelectorID = -27136;
  1499.  
  1500.     gxExtensionScopeType        = 'scop';
  1501.     gxDriverScopeID                = -27136;
  1502.     gxPrinterScopeID            = -27135;
  1503.     gxPrinterExceptionScopeID    = -27134;
  1504.  
  1505.     gxExtensionLoadType            = 'load';
  1506.     gxExtensionLoadID            = -27136;
  1507.  
  1508.     gxExtensionLoadFirst        = $00000100;
  1509.     gxExtensionLoadAnywhere        = $7FFFFFFF;
  1510.     gxExtensionLoadLast            = $FFFFFF00;
  1511.  
  1512.     gxExtensionOptimizationType    = 'eopt';
  1513.     gxExtensionOptimizationID    = -27136;
  1514.  
  1515. {
  1516.     -----------------------------------------------
  1517.  
  1518.     Resource types and IDs used by driver writers
  1519.  
  1520.     ----------------------------------------------- 
  1521. }
  1522.     gxDriverUniversalOverrideID    = -27648;
  1523.     gxDriverImagingOverrideID    = -27647;
  1524.     gxDriverCompatibilityOverrideID = -27646;
  1525.  
  1526.     gxDriverFileFormatType        = 'pfil';
  1527.     gxDriverFileFormatID        = -27648;
  1528.  
  1529.     gxDestinationAdditionType    = 'dsta';
  1530.     gxDestinationAdditionID        = -27648;
  1531.  
  1532. {  IMAGING RESOURCES  }
  1533. {
  1534.     The imaging system resource specifies which imaging system a printer
  1535.         driver wishes to use. 
  1536. }
  1537.     gxImagingSystemSelectorType    = 'isys';
  1538.     gxImagingSystemSelectorID    = -27648;
  1539.  
  1540. {  'exft' resource ID -- exclude font list  }
  1541.     kExcludeFontListType        = 'exft';
  1542.     kExcludeFontListID            = -27648;
  1543.  
  1544. {  Resource for type for color matching  }
  1545.     gxColorMatchingDataType        = 'prof';
  1546.     gxColorMatchingDataID        = -27648;
  1547.  
  1548. {  Resource type and id for the tray count  }
  1549.     gxTrayCountDataType            = 'tray';
  1550.     gxTrayCountDataID            = -27648;
  1551.  
  1552. {  Resource type for the tray names  }
  1553.     gxTrayNameDataType            = 'tryn';
  1554.  
  1555. {  Resource type for manual feed preferences, stored in DTP.  }
  1556.     gxManualFeedAlertPrefsType    = 'mfpr';
  1557.     gxManualFeedAlertPrefsID    = -27648;
  1558.  
  1559. {  Resource type for desktop printer output characteristics, stored in DTP.  }
  1560.     gxDriverOutputType            = 'outp';
  1561.     gxDriverOutputTypeID        = 1;
  1562.  
  1563. {  IO Resources  }
  1564. {  Resource type and ID for default IO and buffering resources  }
  1565.     gxUniversalIOPrefsType        = 'iobm';
  1566.     gxUniversalIOPrefsID        = -27648;
  1567.  
  1568. {
  1569.     Resource types and IDs for default implementation of CaptureOutputDevice.
  1570.         The default implementation of CaptureOutputDevice only handles PAP devices 
  1571. }
  1572.     gxCaptureType                = 'cpts';
  1573.     gxCaptureStringID            = -27648;
  1574.     gxReleaseStringID            = -27647;
  1575.     gxUncapturedAppleTalkType    = -27646;
  1576.     gxCapturedAppleTalkType        = -27645;
  1577.  
  1578. {  Resource type and ID for custom halftone matrix  }
  1579.     gxCustomMatrixType            = 'dmat';
  1580.     gxCustomMatrixID            = -27648;
  1581.  
  1582. {  Resource type and ID for raster driver rendering preferences  }
  1583.     gxRasterPrefsType            = 'rdip';
  1584.     gxRasterPrefsID                = -27648;
  1585.  
  1586. {  Resource type for specifiying a colorset  }
  1587.     gxColorSetResType            = 'crst';
  1588.  
  1589. {  Resource type and ID for raster driver packaging preferences  }
  1590.     gxRasterPackType            = 'rpck';
  1591.     gxRasterPackID                = -27648;
  1592.  
  1593. {  Resource type and ID for raster driver packaging options  }
  1594.     gxRasterNumNone                = 0;                            {  Number isn't output at all  }
  1595.     gxRasterNumDirect            = 1;                            {  Lowest minWidth bytes as data  }
  1596.     gxRasterNumToASCII            = 2;                            {  minWidth ASCII characters  }
  1597.  
  1598.     gxRasterPackOptionsType        = 'ropt';
  1599.     gxRasterPackOptionsID        = -27648;
  1600.  
  1601. {  Resource type for the PostScript imaging system procedure set control resource  }
  1602.     gxPostscriptProcSetControlType = 'prec';
  1603.  
  1604. {  Resource type for the PostScript imaging system printer font resource  }
  1605.     gxPostscriptPrinterFontType    = 'pfnt';
  1606.  
  1607. {  Resource type and ID for the PostScript imaging system imaging preferences  }
  1608.     gxPostscriptPrefsType        = 'pdip';
  1609.     gxPostscriptPrefsID            = -27648;
  1610.  
  1611. {  Resource type and ID for the PostScript imaging system default scanning code  }
  1612.     gxPostscriptScanningType    = 'scan';
  1613.     gxPostscriptScanningID        = -27648;
  1614.  
  1615. {  Old Application Support Resources  }
  1616.     gxCustType                    = 'cust';
  1617.     gxCustID                    = -8192;
  1618.  
  1619.     gxReslType                    = 'resl';
  1620.     gxReslID                    = -8192;
  1621.  
  1622.     gxDiscreteResolution        = 0;
  1623.  
  1624.     gxStlDialogResID            = -8192;
  1625.  
  1626.     gxJobDialogResID            = -8191;
  1627.  
  1628.     gxScaleTableType            = 'stab';
  1629.     gxDITLControlType            = 'dctl';
  1630.  
  1631. {
  1632.     The default implementation of gxPrintDefault loads and
  1633.     PrValidates a print record stored in the following driver resource. 
  1634. }
  1635.     gxPrintRecordType            = 'PREC';
  1636.     gxDefaultPrintRecordID        = 0;
  1637.  
  1638. {
  1639.     -----------------------------------------------
  1640.  
  1641.     Resource types and IDs used in papertype files
  1642.  
  1643.     -----------------------------------------------
  1644. }
  1645. {  Resource type and ID for driver papertypes placed in individual files  }
  1646.     gxSignatureType                = 'sig ';
  1647.     gxPapertypeSignatureID        = 0;
  1648.  
  1649. {  Papertype creator types  }
  1650.     gxDrvrPaperType                = 'drpt';
  1651.     gxSysPaperType                = 'sypt';                        {  System paper type creator  }
  1652.     gxUserPaperType                = 'uspt';                        {  User paper type creator  }
  1653.                                                                 {  Driver creator types == driver file's creator value  }
  1654.     gxPaperTypeType                = 'ptyp';
  1655.  
  1656. {
  1657. ********************************************************************
  1658.                     Start of old "GXPrintingMessages.h/a/p" interface file.
  1659.             *********************************************************************
  1660. }
  1661. {
  1662.  ------------------------------------------------------------------------------
  1663.  
  1664.                                     Constants and Types
  1665.  
  1666. -------------------------------------------------------------------------------- 
  1667. }
  1668. {
  1669.  
  1670.     ABSTRACT DATA TYPES
  1671.  
  1672. }
  1673.  
  1674. TYPE
  1675.     gxSpoolFile = ^LONGINT;
  1676. {
  1677.  
  1678.     DIALOG PANEL CONSTANTS AND TYPES
  1679.  
  1680. }
  1681.     gxPanelEvent                        = LONGINT;
  1682. {  Dialog panel event equates  }
  1683.  
  1684. CONST
  1685.     gxPanelNoEvt                = 0;
  1686.     gxPanelOpenEvt                = 1;                            {  Initialize and draw  }
  1687.     gxPanelCloseEvt                = 2;                            {  Your panel is going away (panel switchL, confirm or cancel)  }
  1688.     gxPanelHitEvt                = 3;                            {  There's a hit in your panel  }
  1689.     gxPanelActivateEvt            = 4;                            {  The dialog window has just been activated  }
  1690.     gxPanelDeactivateEvt        = 5;                            {  The dialog window is about to be deactivated  }
  1691.     gxPanelIconFocusEvt            = 6;                            {  The focus changes from the panel to the icon list  }
  1692.     gxPanelPanelFocusEvt        = 7;                            {  The focus changes from the icon list to the panel  }
  1693.     gxPanelFilterEvt            = 8;                            {  Every event is filtered  }
  1694.     gxPanelCancelEvt            = 9;                            {  The user has cancelled the dialog  }
  1695.     gxPanelConfirmEvt            = 10;                            {  The user has confirmed the dialog  }
  1696.     gxPanelDialogEvt            = 11;                            {  Event to be handle by dialoghandler  }
  1697.     gxPanelOtherEvt                = 12;                            {  osEvts, etc.  }
  1698.     gxPanelUserWillConfirmEvt    = 13;                            {  User has selected confirm, time to parse panel interdependencies  }
  1699.  
  1700. {  Constants for panel responses to dialog handler calls  }
  1701.  
  1702. TYPE
  1703.     gxPanelResult                        = LONGINT;
  1704.  
  1705. CONST
  1706.     gxPanelNoResult                = 0;
  1707.     gxPanelCancelConfirmation    = 1;                            {  Only valid from panelUserWillConfirmEvt - used to keep the dialog from going away  }
  1708.  
  1709. {  Panel event info record for FilterPanelEvent and HandlePanelEvent messages  }
  1710.  
  1711. TYPE
  1712.     gxPanelInfoRecordPtr = ^gxPanelInfoRecord;
  1713.     gxPanelInfoRecord = RECORD
  1714.         panelEvt:                gxPanelEvent;                            {  Why we were called  }
  1715.         panelResId:                INTEGER;                                {  'ppnl' resource ID of current panel  }
  1716.         pDlg:                    DialogPtr;                                {  Pointer to dialog  }
  1717.         theEvent:                EventRecordPtr;                            {  Pointer to event  }
  1718.         itemHit:                INTEGER;                                {  Actual item number as Dialog Mgr thinks  }
  1719.         itemCount:                INTEGER;                                {  Number of items before your items  }
  1720.         evtAction:                INTEGER;                                {  Once this event is processed, the action that will result  }
  1721.                                                                         {  (evtAction is only meaningful during filtering)  }
  1722.         errorStringId:            INTEGER;                                {  STR ID of string to put in error alert (0 means no string)  }
  1723.         theFormat:                gxFormat;                                {  The current format (only meaningful in a format dialog)  }
  1724.         refCon:                    Ptr;                                    {  refCon passed in PanelSetupRecord  }
  1725.     END;
  1726.  
  1727. {  Constants for the evtAction field in PanelInfoRecord  }
  1728.  
  1729. CONST
  1730.     gxOtherAction                = 0;                            {  Current item will not change  }
  1731.     gxClosePanelAction            = 1;                            {  Panel will be closed  }
  1732.     gxCancelDialogAction        = 2;                            {  Dialog will be cancelled  }
  1733.     gxConfirmDialogAction        = 3;                            {  Dialog will be confirmed  }
  1734.  
  1735. {  Constants for the panelKind field in gxPanelSetupRecord  }
  1736.  
  1737. TYPE
  1738.     gxPrintingPanelKind                    = LONGINT;
  1739. {  The gxPanelSetupInfo structure is passed to GXSetupDialogPanel  }
  1740.     gxPanelSetupRecordPtr = ^gxPanelSetupRecord;
  1741.     gxPanelSetupRecord = RECORD
  1742.         panelKind:                gxPrintingPanelKind;
  1743.         panelResId:                INTEGER;
  1744.         resourceRefNum:            INTEGER;
  1745.         refCon:                    Ptr;
  1746.     END;
  1747.  
  1748.  
  1749. CONST
  1750.     gxApplicationPanel            = 0;
  1751.     gxExtensionPanel            = 1;
  1752.     gxDriverPanel                = 2;
  1753.  
  1754. {  Constants returned by gxParsePageRange message  }
  1755.  
  1756. TYPE
  1757.     gxParsePageRangeResult                = LONGINT;
  1758.  
  1759. CONST
  1760.     gxRangeNotParsed            = 0;                            {  Default initial value  }
  1761.     gxRangeParsed                = 1;                            {  Range has been parsed  }
  1762.     gxRangeBadFromValue            = 2;                            {  From value is bad  }
  1763.     gxRangeBadToValue            = 3;                            {  To value is bad  }
  1764.  
  1765. {
  1766.  
  1767.     STATUS-RELATED CONSTANTS AND TYPES
  1768.  
  1769. }
  1770. {  Structure for status messages  }
  1771.  
  1772. TYPE
  1773.     gxStatusRecordPtr = ^gxStatusRecord;
  1774.     gxStatusRecord = RECORD
  1775.         statusType:                INTEGER;                                {  One of the ids listed above (nonFatalError, etc. )  }
  1776.         statusId:                INTEGER;                                {  Specific status (out of paper, etc.)  }
  1777.         statusAlertId:            INTEGER;                                {     Printing alert ID (if any) for status  }
  1778.         statusOwner:            gxOwnerSignature;                        {  Creator type of status owner  }
  1779.         statResId:                INTEGER;                                {  ID for 'stat' resource  }
  1780.         statResIndex:            INTEGER;                                {  Index into 'stat' resource for this status  }
  1781.         dialogResult:            INTEGER;                                {  ID of button string selected on dismissal of printing alert  }
  1782.         bufferLen:                INTEGER;                                {  Number of bytes in status buffer - total record size must be <= 512  }
  1783.         statusBuffer:            SInt8;                                    {  User response from alert  }
  1784.     END;
  1785.  
  1786. {  Constants for statusType field of gxStatusRecord  }
  1787.  
  1788. CONST
  1789.     gxNonFatalError                = 1;                            {  An error occurred, but the job can continue  }
  1790.     gxFatalError                = 2;                            {  A fatal error occurred-- halt job  }
  1791.     gxPrinterReady                = 3;                            {  Tells QDGX to leave alert mode  }
  1792.     gxUserAttention                = 4;                            {  Signals initiation of a modal alert  }
  1793.     gxUserAlert                    = 5;                            {  Signals initiation of a moveable modal alert  }
  1794.     gxPageTransmission            = 6;                            {  Signals page sent to printer, increments page count in strings to user  }
  1795.     gxOpenConnectionStatus        = 7;                            {  Signals QDGX to begin animation on printer icon  }
  1796.     gxInformationalStatus        = 8;                            {  Default status type, no side effects  }
  1797.     gxSpoolingPageStatus        = 9;                            {  Signals page spooled, increments page count in spooling dialog  }
  1798.     gxEndStatus                    = 10;                            {  Signals end of spooling  }
  1799.     gxPercentageStatus            = 11;                            {  Signals QDGX as to the amount of the job which is currently complete  }
  1800.  
  1801. {  Structure for gxWriteStatusToDTPWindow message  }
  1802.  
  1803. TYPE
  1804.     gxDisplayRecordPtr = ^gxDisplayRecord;
  1805.     gxDisplayRecord = RECORD
  1806.         useText:                BOOLEAN;                                {  Use text as opposed to a picture  }
  1807.         padByte:                SInt8;
  1808.         hPicture:                Handle;                                    {  if !useText, the picture handle  }
  1809.         theText:                Str255;                                    {  if useText, the text  }
  1810.     END;
  1811.  
  1812. { ----------------------------------------------- }
  1813. {  paper mapping-related constants and types...   }
  1814. { ----------------------------------------------- }
  1815.     gxTrayMapping                        = LONGINT;
  1816.  
  1817. CONST
  1818.     gxDefaultTrayMapping        = 0;
  1819.     gxConfiguredTrayMapping        = 1;
  1820.  
  1821. {
  1822.  ------------------------------------------------------------------------------
  1823.  
  1824.                 API Functions callable only from within message overrides
  1825.  
  1826. -------------------------------------------------------------------------------- 
  1827. }
  1828. {
  1829.     Message Sending API Routines
  1830. }
  1831. {$IFC NOT GENERATINGPOWERPC }
  1832. {$ENDC}
  1833. {
  1834.  
  1835.     How to use the GXPRINTINGDISPATCH macro...
  1836.     
  1837.     If your driver or extension is large, you may want to segment it
  1838.     across smaller boundaries than is permitted by the messaging system.
  1839.     Without using the Printing Manager's segmentation manager directly,
  1840.     the smallest segment you can create consists of the code to override
  1841.     a single message.  If you are overriding workhorse messages such as
  1842.     RenderPage, you may want to divide up the work among many functions
  1843.     distributed across several segments.  Here's how...
  1844.     
  1845.     The Printing Manager segment scheme involves the construction of a
  1846.     single 32-bit dispatch selector, which contains all the information
  1847.     necessary for the dispatcher to find a single routine.  It contains the
  1848.     segment's resource ID, and the offset within the segment which contains
  1849.     the start of the routine.  The GXPRINTINGDISPATCH macro will construct the
  1850.     dispatch selector for you, as well as the code to do the dispatch.
  1851.     
  1852.     Usually, it is convenient to start your segment with a long aligned jump table,
  1853.     beginning after the 4 byte header required by the Printing Manager.  The
  1854.     macro assumes this is the case and takes a 1-based routine selector from
  1855.     which it conmstructs the offset.
  1856.     
  1857.     For example, if your code is in resource 'pdvr' (print driver), ID=2
  1858.     at offset=12 (third routine in segment), you would declare your
  1859.     routine as follows:
  1860.     
  1861.     OSErr MyRenderingRoutine (long param1, Ptr param2)
  1862.         = GXPRINTINGDISPATCH(2, 3);
  1863.         
  1864.     Remember, ALL segment dispatches must return OSErr.  If your routine
  1865.     does not generate errors, you must still declare it to return OSErr
  1866.     and have the routine itself return noErr.
  1867.     
  1868.     An alternative way to call across segments is to call the GXPrintingDispatch
  1869.     function directly.  You must construct the 32-bit selector yourself and pass
  1870.     it as the first parameter.  This is usually not preferable since you don't get
  1871.     type-checking unless you declare a prototype as shown above, and your code
  1872.     isn't as easy to read.
  1873.     
  1874.     So given the above prototype, there are two ways to call the function:
  1875.     
  1876.         anErr = MyRenderingRoutine(p1, p2);            // Free type checking!
  1877.         
  1878.     or:
  1879.     
  1880.         #define kMyRenderRoutineSelector 0x0002000C
  1881.         anErr = GXPrintingDispatch(kMyRenderRoutineSelector, p1, p2);        // No type-checking!
  1882.     
  1883.     
  1884.     Both have the same effect.
  1885.  
  1886. }
  1887. FUNCTION GXGetJob: gxJob; C;
  1888. FUNCTION GXGetMessageHandlerResFile: INTEGER; C;
  1889. FUNCTION GXSpoolingAborted: BOOLEAN; C;
  1890. FUNCTION GXJobIdle: OSErr; C;
  1891. FUNCTION GXReportStatus(statusID: LONGINT; statusIndex: LONGINT): OSErr; C;
  1892. FUNCTION GXAlertTheUser(VAR statusRec: gxStatusRecord): OSErr; C;
  1893. FUNCTION GXSetupDialogPanel(VAR panelRec: gxPanelSetupRecord): OSErr; C;
  1894. FUNCTION GXCountTrays(VAR numTrays: gxTrayIndex): OSErr; C;
  1895. FUNCTION GXGetTrayName(trayNumber: gxTrayIndex; VAR trayName: Str31): OSErr; C;
  1896. FUNCTION GXSetTrayPaperType(whichTray: gxTrayIndex; aPapertype: gxPaperType): OSErr; C;
  1897. FUNCTION GXGetTrayPaperType(whichTray: gxTrayIndex; aPapertype: gxPaperType): OSErr; C;
  1898. FUNCTION GXGetTrayMapping(VAR trayMapping: gxTrayMapping): OSErr; C;
  1899. PROCEDURE GXCleanupStartJob; C;
  1900. PROCEDURE GXCleanupStartPage; C;
  1901. PROCEDURE GXCleanupOpenConnection; C;
  1902. PROCEDURE GXCleanupStartSendPage; C;
  1903. {
  1904.  ------------------------------------------------------------------------------
  1905.  
  1906.                     Constants and types for Universal Printing Messages
  1907.  
  1908. -------------------------------------------------------------------------------- 
  1909. }
  1910. {  Options for gxCreateSpoolFile message  }
  1911.  
  1912. CONST
  1913.     gxNoCreateOptions            = $00000000;                    {  Just create the file  }
  1914.     gxInhibitAlias                = $00000001;                    {  Do not create an alias in the PMD folder  }
  1915.     gxInhibitUniqueName            = $00000002;                    {  Do not append to the filename to make it unique  }
  1916.     gxResolveBitmapAlias        = $00000004;                    {  Resolve bitmap aliases and duplicate data in file  }
  1917.  
  1918. {  Options for gxCloseSpoolFile message  }
  1919.     gxNoCloseOptions            = $00000000;                    {  Just close the file  }
  1920.     gxDeleteOnClose                = $00000001;                    {  Delete the file rather than closing it  }
  1921.     gxUpdateJobData                = $00000002;                    {  Write current job information into file prior to closing  }
  1922.     gxMakeRemoteFile            = $00000004;                    {  Mark job as a remote file  }
  1923.  
  1924. {  Options for gxCreateImageFile message  }
  1925.     gxNoImageFile                = $00000000;                    {  Don't create image file  }
  1926.     gxMakeImageFile                = $00000001;                    {  Create an image file  }
  1927.     gxEachPlane                    = $00000002;                    {  Only save up planes before rewinding  }
  1928.     gxEachPage                    = $00000004;                    {  Save up entire pages before rewinding  }
  1929.     gxEntireFile                = $00000006;                    {  Save up the entire file before rewinding  }
  1930.  
  1931. {  Options for gxBufferData message  }
  1932.     gxNoBufferOptions            = $00000000;
  1933.     gxMakeBufferHex                = $00000001;
  1934.     gxDontSplitBuffer            = $00000002;
  1935.  
  1936. {  Structure for gxDumpBuffer and gxFreeBuffer messages  }
  1937.  
  1938. TYPE
  1939.     gxPrintingBufferPtr = ^gxPrintingBuffer;
  1940.     gxPrintingBuffer = RECORD
  1941.         size:                    LONGINT;                                {  Size of buffer in bytes  }
  1942.         userData:                LONGINT;                                {  Client assigned id for the buffer  }
  1943.         data:                    SInt8;                                    {  Array of size bytes  }
  1944.     END;
  1945.  
  1946. {  Structure for gxRenderPage message  }
  1947.     gxPageInfoRecordPtr = ^gxPageInfoRecord;
  1948.     gxPageInfoRecord = RECORD
  1949.         docPageNum:                LONGINT;                                {  Number of page being printed  }
  1950.         copyNum:                LONGINT;                                {  Copy number being printed  }
  1951.         formatChanged:            BOOLEAN;                                {  True if format changed from last page  }
  1952.         pageChanged:            BOOLEAN;                                {  True if page contents changed from last page  }
  1953.         internalUse:            LONGINT;                                {  Private  }
  1954.     END;
  1955.  
  1956. {
  1957.  ------------------------------------------------------------------------------
  1958.  
  1959.                                 Universal Printing Messages
  1960.  
  1961. -------------------------------------------------------------------------------- 
  1962. }
  1963. {$ENDC}
  1964. {$IFC FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED }
  1965. {$ENDC}
  1966. {$IFC FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE }
  1967. {$ENDC}
  1968. {$IFC FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED }
  1969. {$ENDC}
  1970. {$IFC FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE }
  1971. {
  1972. ******************************************************************
  1973.                     Start of old "GXPrintingErrors.h/a/p" interface file.
  1974.             *******************************************************************
  1975. }
  1976.  
  1977. CONST
  1978.     gxPrintingResultBase        = -510;                            { First QuickDraw GX printing error code. }
  1979.  
  1980. { RESULT CODES FOR QUICKDRAW GX PRINTING OPERATIONS }
  1981.     gxAioTimeout                = -510;                            { -510 : Timeout condition occurred during operation }
  1982.     gxAioBadRqstState            = -511;                            { -511 : Async I/O request in invalid state for operation }
  1983.     gxAioBadConn                = -512;                            { -512 : Invalid Async I/O connection refnum }
  1984.     gxAioInvalidXfer            = -513;                            { -513 : Read data transfer structure contained bad values }
  1985.     gxAioNoRqstBlks                = -514;                            { -514 : No available request blocks to process request }
  1986.     gxAioNoDataXfer                = -515;                            { -515 : Data transfer structure pointer not specified }
  1987.     gxAioTooManyAutos            = -516;                            { -516 : Auto status request already active }
  1988.     gxAioNoAutoStat                = -517;                            { -517 : Connection not configured for auto status }
  1989.     gxAioBadRqstID                = -518;                            { -518 : Invalid I/O request identifier }
  1990.     gxAioCantKill                = -519;                            { -519 : Comm. protocol doesn't support I/O term }
  1991.     gxAioAlreadyExists            = -520;                            { -520 : Protocol spec. data already specified }
  1992.     gxAioCantFind                = -521;                            { -521 : Protocol spec. data does not exist }
  1993.     gxAioDeviceDisconn            = -522;                            { -522 : Machine disconnected from printer }
  1994.     gxAioNotImplemented            = -523;                            { -523 : Function not implemented }
  1995.     gxAioOpenPending            = -524;                            { -524 : Opening a connection for protocol, but another open pending }
  1996.     gxAioNoProtocolData            = -525;                            { -525 : No protocol specific data specified in request }
  1997.     gxAioRqstKilled                = -526;                            { -526 : I/O request was terminated }
  1998.     gxBadBaudRate                = -527;                            { -527 : Invalid baud rate specified }
  1999.     gxBadParity                    = -528;                            { -528 : Invalid parity specified }
  2000.     gxBadStopBits                = -529;                            { -529 : Invalid stop bits specified }
  2001.     gxBadDataBits                = -530;                            { -530 : Invalid data bits specified }
  2002.     gxBadPrinterName            = -531;                            { -531 : Bad printer name specified }
  2003.     gxAioBadMsgType                = -532;                            { -532 : Bad masType field in transfer info structure }
  2004.     gxAioCantFindDevice            = -533;                            { -533 : Cannot locate target device }
  2005.     gxAioOutOfSeq                = -534;                            { -534 : Non-atomic SCSI requests submitted out of sequence }
  2006.     gxPrIOAbortErr                = -535;                            { -535 : I/O operation aborted }
  2007.     gxPrUserAbortErr            = -536;                            { -536 : User aborted }
  2008.     gxCantAddPanelsNowErr        = -537;                            { -537 : Can only add panels during driver switch or dialog setup }
  2009.     gxBadxdtlKeyErr                = -538;                            { -538 : Unknown key for xdtl - must be radiobutton, etc }
  2010.     gxXdtlItemOutOfRangeErr        = -539;                            { -539 : Referenced item does not belong to panel }
  2011.     gxNoActionButtonErr            = -540;                            { -540 : Action button is nil }
  2012.     gxTitlesTooLongErr            = -541;                            { -541 : Length of buttons exceeds alert maximum width }
  2013.     gxUnknownAlertVersionErr    = -542;                            { -542 : Bad version for printing alerts }
  2014.     gxGBBufferTooSmallErr        = -543;                            { -543 : Buffer too small. }
  2015.     gxInvalidPenTable            = -544;                            { -544 : Invalid vector driver pen table. }
  2016.     gxIncompletePrintFileErr    = -545;                            { -545 : Print file was not completely spooled }
  2017.     gxCrashedPrintFileErr        = -546;                            { -546 : Print file is corrupted }
  2018.     gxInvalidPrintFileVersion    = -547;                            { -547 : Print file is incompatible with current QuickDraw GX version }
  2019.     gxSegmentLoadFailedErr        = -548;                            { -548 : Segment loader error }
  2020.     gxExtensionNotFoundErr        = -549;                            { -549 : Requested printing extension could not be found }
  2021.     gxDriverVersionErr            = -550;                            { -550 : Driver too new for current version of QuickDraw GX }
  2022.     gxImagingSystemVersionErr    = -551;                            { -551 : Imaging system too new for current version of QuickDraw GX }
  2023.     gxFlattenVersionTooNew        = -552;                            { -552 : Flattened object format too new for current version of QDGX }
  2024.     gxPaperTypeNotFound            = -553;                            { -553 : Requested papertype could not be found }
  2025.     gxNoSuchPTGroup                = -554;                            { -554 : Requested papertype group could not be found }
  2026.     gxNotEnoughPrinterMemory    = -555;                            { -555 : Printer does not have enough memory for fonts in document }
  2027.     gxDuplicatePanelNameErr        = -556;                            { -556 : Attempt to add more than 10 panels with the same name }
  2028.     gxExtensionVersionErr        = -557;                            { -557 : Extension too new for current version of QuickDraw GX }
  2029.  
  2030. {$ENDC}
  2031. {$ALIGN RESET}
  2032. {$POP}
  2033.  
  2034. {$SETC UsingIncludes := GXPrintingIncludes}
  2035.  
  2036. {$ENDC} {__GXPRINTING__}
  2037.  
  2038. {$IFC NOT UsingIncludes}
  2039.  END.
  2040. {$ENDC}
  2041.